package com.yvan.eventsourcing;

/**
 * 重试任务
 * Created by luoyifan on 2017/8/15.
 */
public interface EventHandler<E> {

    Action handle(E event) throws Exception;

    enum Action {
        /**
         * 任务已完成
         */
        ACCEPT,

        /**
         * 任务需要重试
         */
        RETRY,

        /**
         * 任务拒绝执行(删除)
         */
        REJECT,

        /**
         * 跳过任务(下次调度给别的消费节点)
         */
        PASS
    }

}
